package obligatorio;

import java.util.LinkedList;
import java.util.concurrent.Semaphore;

import destacamento.Ambulancia;
import destacamento.Bomberos;
import destacamento.Policia;
public class Central911 {
	/**
	 *  Atributos 
	 */

	public LinkedList<Llamada>Llamadas=new LinkedList<Llamada>();
	public LinkedList<Llamada>LlamadasEnEspera=new LinkedList<Llamada>();
	public LinkedList<Emergencia> registroDeEmergencias = new LinkedList<Emergencia>();
	
	
	public LinkedList<Emergencia> emergenciasA = new LinkedList<Emergencia>(); // Es el registro de las emergencias del tipo A.
	public LinkedList<Emergencia> emergenciasB = new LinkedList<Emergencia>(); // Es el registro de las emergencias del tipo B.
	public LinkedList<Emergencia> emergenciasC = new LinkedList<Emergencia>(); // Es el registro de las emergencias del tipo C.
	
	Ambulancia unaAmbulancia;
	Bomberos unBombero;
	Policia unPolicia;

	String nombreArchivo;
	
	int cantidadEmergencias;

	/**
	 * Constructor
	 * @param nombreArchivo
	 */
	public Central911(String nombreArchivo){
		this.nombreArchivo=nombreArchivo;
		this.unaAmbulancia=new Ambulancia();
		this.unBombero=new Bomberos();
		this.unPolicia=new Policia();
		cantidadEmergencias=0;
	}
	
	public LinkedList<Llamada> getLlamadas(){
		return Llamadas;
	}
	public LinkedList<Llamada> getllamadasEnEspera(){
		return LlamadasEnEspera;
	}
	public Llamada getPrimeraLlamada(){
		Llamada temp = LlamadasEnEspera.getFirst();
		LlamadasEnEspera.removeFirst();		
		return temp;
	}
}